function g = g_function( h, layer )
% G_FUNCTION
%   Esta funcion recibe como par??metro el valor de h correspondiente a un
%   determinado patr??n, as?? como tambi??n un valor G indicando que funci??n
%   de activaci??n se utilizar??. Devuelve el valor de g calculado y el valor
%   de g'
    global G;
    global BETA;
    global LAYERS;

    % En caso de que sea la ultima capa utilizo una funcion de activacion
    % lineal
    if layer == length(LAYERS)
        g = BETA*h;
        return;
    end
    
    if G == 1
        g = tanh(BETA*h);
    elseif G == 2
        g = 1./(1 + exp(-2*BETA*h));
    end
end
